# 写入文件

import csv

"""
    mode
        r: 只读【默认模式，文件必须存在，不存在则抛出异常】
        w: 只写，写之前会清空文件到内容，如果文件不存在，则创建新文件
        a: 追加的方式，在原文本内容中继续写，如果文件不存在，则创建新文件
        r+: 可读可写
        w+: 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果文件不存在，创建新文件。
        a+：打开一个文件用于读写，如果该文件已存在，文件指针将会放在文件的结尾。文件打开时会是追加模式，如果该文件不存在，创建新文件用于读写。
        b: rb,wb,ab,rb+,wb+,ab+意义和上面一样，用于二进制文件操作
"""

# 写入csv文件
with open("1.csv", mode="a", encoding="utf-8") as f:
    cf = csv.writer(f)
    #  写一行
    cf.writerow(["张三", "男", 20])
    rows = [
        ["李四", "女", 18],
        ["王五", "男", 25]
    ]
    # 写多行
    cf.writerows(rows)

# 读取csv文件
with open("1.csv", mode="r", encoding="utf-8") as f:
    f = csv.DictReader(f)
    for row in f:
        print(row)